using System;
using System.ComponentModel;
using System.Diagnostics;

namespace SIS.ENT
{

    public class EmployeeProfileTable
    {

        #region "Private Variables"
        private int _employeeProfileKey;
        private int _userAccountKey;
        private string _firstName;
        private string _lastName;
        private string _otherName;
        private Byte[] _photo;
        private string _Gender;
        private DateTime _dateOfBirth;
        private string _placeOfBirth;
        private DateTime _JoinDate = DateTime.MinValue;
        private short _parentStatus;
        private string _hobby;
        private short _bloodGroupCode;
        private short _martialStatusCode;
        private short _raceCode;
        private short _religionCode;
        private short _nationalityCode;
        private string _nRICNumber;
        private short _drivingLicenceType;
        private string _drivingLicenseNumber;
        private short _travelDocumentType;
        private string _travelDocumentNumber;
        private string _webSiteUrl;
        private short _status;
        private DateTime _createdDateTime = DateTime.MinValue;
        private DateTime _modifiedDateTime = DateTime.MinValue;
        private string _Employee;
        private int _SchoolKey;
        private TimeScheduleTableList _timeScheduleTables = new TimeScheduleTableList();

        #endregion

        #region "Public Properties"
        /// <summary>
        /// Gets or sets the EmployeeProfileKey of the EmployeeProfileTable.
        /// </summary>
        [DataObjectFieldAttribute(true, true, false)]
        public int EmployeeProfileKey
        {
            get
            {
                return _employeeProfileKey;
            }
            set
            {
                _employeeProfileKey = value;
            }
        }
        /// <summary>
        /// Gets or sets the UserAccountKey of the EmployeeProfileTable.
        /// </summary>
        public int UserAccountKey
        {
            get
            {
                return _userAccountKey;
            }
            set
            {
                _userAccountKey = value;
            }
        }
        /// <summary>
        /// Gets or sets the FirstName of the EmployeeProfileTable.
        /// </summary>
        public string FirstName
        {
            get
            {
                return _firstName;
            }
            set
            {
                _firstName = value;
            }
        }
        /// <summary>
        /// Gets or sets the LastName of the EmployeeProfileTable.
        /// </summary>
        public string LastName
        {
            get
            {
                return _lastName;
            }
            set
            {
                _lastName = value;
            }
        }
        /// <summary>
        /// Gets or sets the OtherName of the EmployeeProfileTable.
        /// </summary>
        public string OtherName
        {
            get
            {
                return _otherName;
            }
            set
            {
                _otherName = value;
            }
        }
        /// <summary>
        /// Gets or sets the Photo of the EmployeeProfileTable.
        /// </summary>
        public byte[] Photo
        {
            get
            {
                return _photo;
            }
            set
            {
                _photo = value;
            }
        }
        /// <summary>
        /// Gets or sets the Gender of the EmployeeProfileTable.
        /// </summary>
        public string Gender
        {
            get
            {
                return _Gender;
            }
            set
            {
                _Gender = value;
            }
        }

        /// <summary>
        /// Gets or sets the DateOfBirth of the EmployeeProfileTable.
        /// </summary>
        public DateTime DateOfBirth
        {
            get
            {
                return _dateOfBirth;
            }
            set
            {
                _dateOfBirth = value;
            }
        }
        /// <summary>
        /// Gets or sets the BloodGroupCode of the EmployeeProfileTable.
        /// </summary>
        public short BloodGroupCode
        {
            get
            {
                return _bloodGroupCode;
            }
            set
            {
                _bloodGroupCode = value;
            }
        }
        /// <summary>
        /// Gets or sets the MartialStatusCode of the EmployeeProfileTable.
        /// </summary>
        public short MartialStatusCode
        {
            get
            {
                return _martialStatusCode;
            }
            set
            {
                _martialStatusCode = value;
            }
        }
        /// <summary>
        /// Gets or sets the RaceCode of the EmployeeProfileTable.
        /// </summary>
        public short RaceCode
        {
            get
            {
                return _raceCode;
            }
            set
            {
                _raceCode = value;
            }
        }
        /// <summary>
        /// Gets or sets the ReligionCode of the EmployeeProfileTable.
        /// </summary>
        public short ReligionCode
        {
            get
            {
                return _religionCode;
            }
            set
            {
                _religionCode = value;
            }
        }
        /// <summary>
        /// Gets or sets the NationalityCode of the EmployeeProfileTable.
        /// </summary>
        public short NationalityCode
        {
            get
            {
                return _nationalityCode;
            }
            set
            {
                _nationalityCode = value;
            }
        }
        /// <summary>
        /// Gets or sets the NRICNumber of the EmployeeProfileTable.
        /// </summary>
        public string NRICNumber
        {
            get
            {
                return _nRICNumber;
            }
            set
            {
                _nRICNumber = value;
            }
        }
        /// <summary>
        /// Gets or sets the DrivingLicenceType of the EmployeeProfileTable.
        /// </summary>
        public short DrivingLicenceType
        {
            get
            {
                return _drivingLicenceType;
            }
            set
            {
                _drivingLicenceType = value;
            }
        }
        /// <summary>
        /// Gets or sets the DrivingLicenseNumber of the EmployeeProfileTable.
        /// </summary>
        public string DrivingLicenseNumber
        {
            get
            {
                return _drivingLicenseNumber;
            }
            set
            {
                _drivingLicenseNumber = value;
            }
        }
        /// <summary>
        /// Gets or sets the TravelDocumentType of the EmployeeProfileTable.
        /// </summary>
        public short TravelDocumentType
        {
            get
            {
                return _travelDocumentType;
            }
            set
            {
                _travelDocumentType = value;
            }
        }
        /// <summary>
        /// Gets or sets the TravelDocumentNumber of the EmployeeProfileTable.
        /// </summary>
        public string TravelDocumentNumber
        {
            get
            {
                return _travelDocumentNumber;
            }
            set
            {
                _travelDocumentNumber = value;
            }
        }
        /// <summary>
        /// Gets or sets the WebSiteUrl of the EmployeeProfileTable.
        /// </summary>
        public string WebSiteUrl
        {
            get
            {
                return _webSiteUrl;
            }
            set
            {
                _webSiteUrl = value;
            }
        }
        /// <summary>
        /// Gets or sets the Status of the EmployeeProfileTable.
        /// </summary>
        public short Status
        {
            get
            {
                return _status;
            }
            set
            {
                _status = value;
            }
        }
        /// <summary>
        /// Gets or sets the CreatedDateTime of the EmployeeProfileTable.
        /// </summary>
        public DateTime CreatedDateTime
        {
            get
            {
                return _createdDateTime;
            }
            set
            {
                _createdDateTime = value;
            }
        }
        /// <summary>
        /// Gets or sets the ModifiedDateTime of the EmployeeProfileTable.
        /// </summary>
        public DateTime ModifiedDateTime
        {
            get
            {
                return _modifiedDateTime;
            }
            set
            {
                _modifiedDateTime = value;
            }
        }
        /// <summary>        
        /// <summary>
        ///Gets or sets a collection of <see cref="TimeScheduleTable" /> instances for the EmployeeProfileTable.
        public TimeScheduleTableList timeScheduleTables
        {
            get
            {
                return _timeScheduleTables;
            }
            set
            {
                _timeScheduleTables = value;
            }
        }
         
        /// <summary>
        /// Gets or sets the Employee of the EmployeeProfileTable.
        /// </summary>
        public string Employee
        {
            get
            {
                return _Employee;
            }
            set
            {
                _Employee = value;
            }
        }
        /// <summary>
        /// Gets or sets the SchoolKey of the EmployeeProfileTable.
        /// </summary>
        public int SchoolKey
        {
            get
            {
                return _SchoolKey;
            }
            set
            {
                _SchoolKey = value;
            }
        }
        /// <summary>
        /// Gets or sets the PlaceOfBirth of the StudentProfileTable.
        /// </summary>
        public string PlaceOfBirth
        {
            get
            {
                return _placeOfBirth;
            }
            set
            {
                _placeOfBirth = value;
            }
        }
        /// <summary>
        /// Gets or sets the ParentStatus of the StudentProfileTable.
        /// </summary>
        public short ParentStatus
        {
            get
            {
                return _parentStatus;
            }
            set
            {
                _parentStatus = value;
            }
        }
        /// <summary>
        /// Gets or sets the Hobby of the StudentProfileTable.
        /// </summary>
        public string Hobby
        {
            get
            {
                return _hobby;
            }
            set
            {
                _hobby = value;
            }
        }

        /// <summary>
        /// Gets or sets the JoinDate of the EmployeeProfileTable.
        /// </summary>
        public DateTime JoinDate
        {
            get
            {
                return _JoinDate;
            }
            set
            {
                _JoinDate = value;
            }
        }

        #endregion

    }
}